package com.lovestudying.service;

import java.util.List;
import java.util.Map;

import com.lovestudying.entity.Order;
import com.lovestudying.util.PageInfo;

public interface OrderService {

	/**
	 * 按条件查找Order(Where)
	 * 
	 * @param Where_Param
	 *            Where条件Map
	 * @return 返回的是PageInfo实例，可以根据泛型调用data()方法获取泛型的List，可以再根据List的get(index)方法获取单一泛型实例。根据实际service需求做选择
	 */
	PageInfo<Order> getOrder_Where(Map<String, Object> Where_Param);

	/**
	 * 查询订单Order全部信息（复杂业务）
	 * 
	 * @param 账户绑定的手机号码
	 * @return 返回的是Order对象
	 */
	List<Order> getOrderView(String account_phone);

	/**
	 * 更新订单信息
	 * 
	 * @param Set_Param
	 *            Set条件Map
	 * @param Where_Param
	 * 
	 * @return 影响行数
	 */
	Integer UpdateOrderByOrderId(Map<String, Object> Set_Param, Map<String, Object> Where_Param);

	/**
	 * 检查账户是否购买了该课程
	 * 
	 * @param accountId
	 * @param courseId
	 * @return
	 */
	Boolean isBought(String accountId, String courseId);

	/**
	 * 添加单一课程的订单
	 * 
	 * @param getUUID
	 * @param courseId
	 * @param accountId
	 * @param coursePrice
	 * @param getNowTime
	 * @return
	 */
	String addOrderSingleCourse(String getUUID, String courseId, String accountId, Integer coursePrice,
			String getNowTime);
}
